import crypto from 'crypto'
import {ethers} from 'ethers';


async function main(){
    const address = '0xB060038e70D81fA17CB18C4D563d266d1FF71299';//seo zf
    encodeSeo(address);
    maxSupply();
}

/**
 * 增发钱包编码
 * @param {*} address 
 * @returns 
 */
  const encodeSeo= (address) => {
  // 编码地址（注意：encodePacked 会将地址按原样编码为字节数组）
  const addressBytes = Buffer.from(address.slice(2), 'hex');
  const hash = crypto.createHash('sha256').update(addressBytes).digest();
  const encode='0x' + hash.toString('hex');
  console.log(`增发地址: ${address} \n地址加密: ${encode}`);
  return encode;
}

const maxSupply= () => {

    // 假设你要表示的最大供应是 1,000,000 × 10⁸
    const supplyBigInt = 1_000_000n * 10n ** 8n;
  
    // 第一步：转成 hex 字符串，自动带 0x 前缀
    const hexValue = ethers.toBeHex(supplyBigInt);  
    // toBeHex 的效果类似 hexlify，只不过默认不截断高位
  
    // hexValue 结果大致："0x00000000000000000000000000000000000000000000000000000017d7840"
  
    // 第二步：左填充 32 字节（64 个十六进制字符，不含 0x）
    const maxSupply = ethers.hexZeroPad(hexValue, 32);
  
    console.log("maxSupply (bytes32):", maxSupply);
    // 输出如 "0x00000000000000000000000000000000000000000000000000000000017d7840"
}

main();